/*
 * @lc app=leetcode.cn id=1047 lang=cpp
 *
 * [1047] 删除字符串中的所有相邻重复项
 */

// @lc code=start
class Solution
{
public:
    string removeDuplicates(string S)
    {
        //删除字符串相邻重复项 相当于对对碰
        stack<int> st; //因为小写字母存进去用ASCII表示可以用int
        for (char c : S)
        {
            if (st.empty() || st.top() != c)
            {
                st.push(c);
            }
            else if (st.top() == c)
            {
                st.pop();
            }
        }
        string s = "";
        while (!st.empty())
        {
            s += st.top();
            st.pop();
        }
        reverse(s.begin(), s.end());
        return s;
    }
};
// @lc code=end

